// VCircle.h
//
#ifndef VCIRCLE_H
#define VCIRCLE_H

#include "VObject.h"

#include "OpenGL/OpenGL.h"
#include "OpenGL/Math.h"

namespace OpenGL {
	class Renderer;
}

class VCircle : public VObject
{
private:
	OpenGL::Math::dvec3 _center;
	double              _radius;
	GLUquadric          *_circle;
	

public:
	VCircle();
	VCircle( const OpenGL::Math::dvec3 &center, double radius );

	~VCircle();

	ObjectType type() const ;
	std::vector<OpenGL::Math::dvec3> snapPoints() const;
	OpenGL::Math::dvec3 textPosition() const;



	void draw( OpenGL::Renderer *r ) const;
	void drawForSelection( OpenGL::Renderer *r ) const;
	bool intersects( const OpenGL::Math::box3 &b ) const;
};

#endif